package com.shark.uh.utils;
public class CharacterChecker {

    /**
     * 检查字符串是否包含非法字符
     *
     * @param input 要检查的字符串
     * @return 如果包含非法字符返回 true，否则返回 false
     */
    public static boolean containsInvalidCharacters(String input) {
        if (input == null || input.isEmpty()) {
            return false; // 空字符串或 null 默认认为没有非法字符
        }

        for (char c : input.toCharArray()) {
            // 判断字符是否为合法范围
            if (!(isChinese(c) || isEnglish(c) || c == '-' || c == '_')) {
                return true; // 存在非法字符
            }
        }

        return false; // 所有字符合法
    }

    /**
     * 判断字符是否为中文
     *
     * @param c 要判断的字符
     * @return 如果是中文返回 true，否则返回 false
     */
    private static boolean isChinese(char c) {
        return c >= '\u4e00' && c <= '\u9fa5';
    }

    /**
     * 判断字符是否为英文（大小写）
     *
     * @param c 要判断的字符
     * @return 如果是英文返回 true，否则返回 false
     */
    private static boolean isEnglish(char c) {
        return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z');
    }

}
